﻿using Biz.Core.Models;
using MiniFox.Components;
using MiniFox.Infrastructure;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Biz.Core
{
    /// <summary>
    /// 
    /// </summary>
    [AutoRegister]
    public interface IOrderService
    {
        /// <summary>
        /// 查询数据(列表)
        /// </summary>
        /// <param name="queryObject">查询对象</param>
        /// <returns></returns>
        ResultObject<IEnumerable<OrderVo>> QueryOrderList(PagedQueryObject<OrderSearchModel> queryObject);
        /// <summary>
        /// 查询数据(表格)
        /// </summary>
        /// <param name="queryObject"></param>
        /// <returns></returns>
        ResultObject<ViewTable> QueryOrders(PagedQueryObject<OrderSearchModel> queryObject);
        /// <summary>
        /// 创建并返回
        /// </summary>
        /// <param name="orderDto">订单模型</param>
        /// <returns>返回新设备数据</returns>
        OrderVo CreateOrder(OrderDto orderDto);
        /// <summary>
        /// 修改并返回
        /// </summary>
        /// <param name="orderDto"></param>
        /// <returns>返回修改后的设备数据</returns>
        OrderVo UpdateOrder(OrderDto orderDto);
        /// <summary>
        /// 
        /// </summary>
        /// <param name="orderId"></param>
        /// <returns></returns>
        string DeleteOrder(string orderId);
        /// <summary>
        /// 订单付款
        /// </summary>
        /// <param name="orderId"></param>
        /// <returns></returns>
        OrderVo OrderPay(string orderId);
        /// <summary>
        /// 获取单个设备
        /// </summary>
        /// <param name="orderId"></param>
        /// <returns></returns>
        OrderVo GetOrder(string orderId);
    }
}
